package com.taa.service;

import com.taa.dao.po.DishInfo;
import com.taa.dto.DishInfoDTO;
import com.taa.dto.DishStockDTO;
import com.taa.dto.RestaurantInfoDTO;
import java.util.List;

/**
 * @author: taa
 * @Desc: 商家服务接口
 * @create: 2025-06-22 16:40
 **/
public interface IRestaurantService {

    /**
     * 获取所有商家列表
     * @return 商家信息DTO列表
     */
    List<RestaurantInfoDTO> getRestaurantList();

    /**
     * 根据商家ID获取其所有菜品
     * @param restaurantId 商家ID
     * @return 菜品信息DTO列表
     */
    List<DishInfoDTO> getDishesByRestaurantId(Long restaurantId);

    /**
     * 根据ID列表批量查询菜品信息（返回PO，供内部服务调用）
     * @param dishIds 菜品ID列表
     * @return 菜品持久化对象列表
     */
    List<DishInfo> getDishListByIds(List<Long> dishIds);

    /**
     * 批量扣减库存
     * @param dishStockList 扣减库存的列表
     */
    void decreaseStock(List<DishStockDTO> dishStockList);
    
}
